# -*- coding: utf-8 -*-
"""
@Time    : 2024/6/26 11:19 
@Author  : ZhangShenao 
@File    : 3.字符串Prompt拼接.py
@Desc    : 字符串Prompt拼接
在LangChain的Prompt组件中,对'+'运算符采用__add__函数进行了重载
因此几乎所有Prompt组件都可以使用+运算符进行组装拼接
"""
from langchain_core.prompts import PromptTemplate

# 创建PromptTemplate,并与字符串进行拼接
prompt_template = (PromptTemplate.from_template("What is the capital of {country}?\n")
                   + 'Please answer my question by rule and line\n'
                   + 'Use {language}'
                   )

# 调用PromptTemplate.invoke()函数,传入变量,生成PromptValue
prompt_value = prompt_template.invoke({
    'country': 'China',
    'language': 'Chinese',
})

# 打印PromptValue
print(f'prompt_value: {prompt_value}')

# 调用PromptValue.to_string()函数,生成文本消息
prompt_text = prompt_value.to_string()
print(f'prompt_text: {prompt_text}')
